package com.link_with_health.service;

import com.link_with_health.exception.BaseException;
import com.link_with_health.model.ScheduleEntity;

import java.util.List;

public interface ScheduleService {

    /**
     * 通过日程id获取日程表信息
     * @param id 日程id
     * @return  日程信息
     * @throws BaseException 异常
     */
    ScheduleEntity getScheduleById(Long id) throws BaseException;

    /**
     * 通过医生id 获取日程表信息
     * @param id 日程id
     * @return  日程信息
     * @throws BaseException 异常
     */
    List<ScheduleEntity> getScheduleByDoctor(Long id) throws BaseException;

    /**
     * 获取所有日程表信息
     * @return 日程信息
     * @throws BaseException 异常
     */
    List<ScheduleEntity> getAllSchedule() throws BaseException;

    /**
     * 增加日程信息
     * @param schedule 日程信息
     * @return  改动数量
     * @throws BaseException 异常
     */
    int addSchedule(ScheduleEntity schedule) throws BaseException;

    /**
     * 修改日程信息
     * @param schedule 日程信息
     * @return 改动数量
     * @throws BaseException 异常
     */
    int changeSchedule(ScheduleEntity schedule) throws BaseException;

    /**
     * 删除日程信息
     * @param id 日程id
     * @return 改动数量
     * @throws BaseException 异常
     */
    int deleteSchedule(int id) throws BaseException;

}
